package com.doublethread.easymart.modules.order.dto;


import jakarta.validation.constraints.NotNull;
import lombok.Data;

import java.util.List;

/**
 * 订单创建DTO
 */
@Data
public class OrderCreateDTO {

    /**
     * 购物车商品ID列表（从购物车下单）
     */
    private List<Long> cartIds;

    /**
     * 直接购买商品列表（立即购买）
     */
    private List<OrderItemDTO> orderItems;

    /**
     * 收货地址ID
     */
    @NotNull(message = "收货地址不能为空")
    private Long addressId;

    /**
     * 支付方式：1-微信支付，2-支付宝支付
     */
    @NotNull(message = "支付方式不能为空")
    private Integer paymentType;

    /**
     * 订单备注
     */
    private String remark;

    /**
     * 订单商品项DTO（用于立即购买）
     */
    @Data
    public static class OrderItemDTO {

        /**
         * 商品ID
         */
        @NotNull(message = "商品ID不能为空")
        private Long productId;

        /**
         * 购买数量
         */
        @NotNull(message = "购买数量不能为空")
        private Integer quantity;
    }
}
